package com.billdowney.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.billdowney.util.log.SystemLogHandleType;

@Target({ ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface SystemLogInfo {

	/**
	 * 需要记录的日志信息，可以包含参数，用“{key}”的形式来指定是第几个参数“[]”为数组标识，实例："我的名字：{name}，我的年龄：{age}，我的职业：{job[]}"
	 * 可以使用{@link SystemVisitRecord}中的 值，格式{visit:requestURI}
	 */
	String value();

	/**
	 * 日志操作类型
	 */
	SystemLogHandleType handleType() default SystemLogHandleType.common;

	/**
	 * 备注
	 */
	String note() default "";

}
